Skip to content

fix: post-merge bug hunt — six fixes + review doc#32

Merged
ypriverol merged 5 commits into
devfrom
review/bug-hunt
May 26, 2026
Merged

fix: post-merge bug hunt — six fixes + review doc#32
ypriverol merged 5 commits into
devfrom
review/bug-hunt

Conversation

@ypriverol
Copy link
Copy Markdown
Member

Summary

Systematic bug review of the merged Rust port (master @ PR #31). Adds BUG_REVIEW.md documenting 11 findings; fixes the six highest-confidence issues in this PR.

Fixes (B1–B6)

ID Area Issue
B1 Streaming --max-spectra bench cap dropped the final partial chunk to zero
B2 CLI routing mzML activation auto-detect disabled when --instrumentlow-res
B3 TSV output mzML runs always used MGF layout (spurious Title column)
B4 SpecE / GF Met-cleaved N-termini used wrong terminal-mod flags in GF graph
B5 TSV output IsotopeError column always 0
B6 CLI validation Inverted charge/isotope ranges failed silently

Open follow-ups (documented, not in this PR)

  • pepSeq dedup key ignores modifications / uses pin score not rank_score (B7–B8)
  • mzML reader aborts entire file on first spectrum error (B10)
  • sa_walk missed-cleavage enforcement (B9)

Test plan

  • cargo test --release -p msgf-rust --test cli_smoke → 10 passed (incl. new bench-mode + charge-range tests)
  • cargo test --release --workspace with 7 CI-known skips → 0 new failures

Made with Cursor

ypriverol and others added 2 commits May 23, 2026 19:00
Bug-hunt review on master (see BUG_REVIEW.md). Fixes:

- send_chunks: bench cap no longer zeroes the final partial chunk
- Param routing: activation auto-detect works when --instrument is set
- TSV: use mzML column layout (no spurious Title column)
- GF SpecE: honor is_protein_n_term for Met-cleaved peptides
- TSV: write IsotopeError from psm.isotope_offset
- CLI: reject inverted charge/isotope error ranges

Adds regression tests for bench mode and inverted charge range.
Documents five additional open findings for follow-up.

Co-authored-by: Cursor <cursoragent@cursor.com>
@qodo-code-review
Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 23, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b72765c0-8ef6-47c3-b0c2-edb99bc67c67

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch review/bug-hunt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

ypriverol and others added 3 commits May 24, 2026 07:27
Correct mod-aware pepSeq dedup to use rank_score with deterministic
survivor selection, add isotope-range validation test, and optimize the
dedup hot path with Arc-cached integer keys and FxHashMap charge queues.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align README and DOCS with post-B2/B5 behavior, correct PIN column count,
document inverted range validation, and replace removed known-divergences.md
references with DOCS §8d.

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolves conflicts after PR #33 (MassCalibrator port — opt-in
--precursor-cal) merged into dev. Two minor conflicts:

- crates/msgf-rust/src/bin/msgf-rust.rs: PR-A moved `spectrum_ext` and
  `ms_level_u32` declarations earlier in run(); the local block at the
  former position was redundant. Took PR-A's side (empty block).
- crates/msgf-rust/tests/cli_smoke.rs: kept PR-A's two new tests
  (cli_accepts_isotope_error_min_negative_one,
  cli_accepts_precursor_cal_off) alongside the bug-hunt branch's
  existing CLI smoke tests.
@ypriverol ypriverol merged commit 42a6d54 into dev May 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant